package com.xayy.health.mgt.model;

import cn.kawins.mybatis.base.BaseModel;
import cn.kawins.mybatis.util.SnowflakeId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import tk.mybatis.mapper.annotation.KeySql;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * @author Nie
 * @version V1.0
 * @date 2023/7/26 16:28
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "HEALTH.tb_task_param_info")
@EqualsAndHashCode(callSuper = true)
public class TaskParamInfo extends BaseModel<Long> {
    @Id
    @ApiModelProperty(value = "主键")
    @Column(name = "id")
    @KeySql(genId = SnowflakeId.class)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "卫星code")
    @Column(name = "satellite_code")
    private String satelliteCode;

    @ApiModelProperty(value = "任务id")
    @Column(name = "task_id")
    private Long taskId;

    @Column(name = "task_name")
    @ApiModelProperty(value = "任务名称")
    private String taskName;

    @Column(name = "param_code")
    @ApiModelProperty(value = "参数code")
    private String paramCode;

    @Column(name = "ty_name")
    @ApiModelProperty(value = "剔野算法名称")
    private String tyName;

    @Column(name = "tc_name")
    @ApiModelProperty(value = "填充算法名称")
    private String tcName;

    @Column(name = "ph_name")
    @ApiModelProperty(value = "平滑算法名称")
    private String phName;

    @Column(name = "status")
    @ApiModelProperty(value = "0：失效1：正常")
    private Integer status;

    @Column(name = "time_interval")
    @ApiModelProperty(value = "时间间隔")
    private Integer timeInterval;

    @Override
    public Long idValue() {
        return id;
    }
}
